package com.summer.main;

import java.io.Closeable;
import java.io.IOException;

public class CloseableTest implements Closeable {

	
	public static void main(String[] args) {
		try(CloseableTest test = new CloseableTest()){//使用try(包裹的构建对象)他的生命周期是从try花括号开始到花括号结束，
			//在结束后，系统会自动调用close关闭方法。实现资源释放，我们只需要在close里写好资源释放以后就不用管释放那块了
			//系统管理，这样可以很好的避免OOM异常~~~~内存溢出
			test.todo();//这里我只调用了资源操作,但是操作完毕后资源释放也被调用了
		}catch (Exception e) {
		}
		System.out.println("我在什么时候执行");
	}
	

	public void todo(){
		System.out.println("操作资源");
	}
	
	@Override
	public void close() throws IOException {
		System.out.println("资源被我释放了");
	}

}
